package com.zxl.designpattern.behavioral.state;

/**
 * 状态接口
 * 定义了贩卖机在不同状态下的行为
 */
public interface State {
    /**
     * 处理投币操作
     * @param amount 投入的金额
     */
    void pay(int amount);
    
    /**
     * 处理选择商品操作
     */
    void selectItem();
    
    /**
     * 处理发放商品操作
     */
    void dispense();
    
    /**
     * 处理补货操作
     * @param quantity 补货数量
     */
    void refill(int quantity);
}    